A system may have multiple processing units or devices. A processing unit may offload a task or event to another processing unit in the system. However, the processing unit is required to make ring transitions to enqueue the task to be offloaded to the other processing unit. For example, in prior art FIG. 1 100, a user level application executing in ring 3 140 has to transition via ring 2 130 and ring 1 120 to the kernel mode in ring 0 110 to enqueue the task to be offloaded to the other processing unit.